home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / dev / lang / pcq12b.lzh / Include / Exec / Ports.i < prev    next >
Text File  |  1990-08-27  |  1KB  |  56 lines

  1. {
  2.     Ports.i for PCQ Pascal
  3.  
  4.     This file defines ports and messages, which are used for inter-
  5.     task communications using the routines defined toward the
  6.     bottom of this file.
  7. }
  8.  
  9. {$I "Include:Exec/Nodes.i"}
  10. {$I "Include:Exec/Lists.i"}
  11.  
  12. type
  13.  
  14.     PortType = (PASignal, PASoftInt, PAIgnore, PFAction);
  15.  
  16. {****** MsgPort *****************************************************}
  17.  
  18.     MsgPort = record
  19.     mp_Node        : Node;
  20.     mp_Flags    : PortType;
  21.     mp_SigBit    : Byte;        { signal bit number    }
  22.     mp_SigTask    : Address;    { task to be signalled (TaskPtr) }
  23.     mp_MsgList    : List;        { message linked list  }
  24.     end;
  25.     MsgPortPtr = ^MsgPort;
  26.  
  27. {****** Message *****************************************************}
  28.  
  29.     Message = record
  30.     mn_Node        : Node; 
  31.     mn_ReplyPort    : MsgPortPtr;    { message reply port }
  32.     mn_Length    : Short;    { message len in bytes }
  33.     end;
  34.     MessagePtr = ^Message;
  35.  
  36. Procedure AddPort(port : MsgPortPtr);
  37.     External;
  38.  
  39. Function FindPort(name : String): MsgPortPtr;
  40.     External;
  41.  
  42. Function GetMsg(port : MsgPortPtr): MessagePtr;
  43.     External;
  44.  
  45. Procedure PutMsg(port : MsgPortPtr; mess : MessagePtr);
  46.     External;
  47.  
  48. Procedure RemPort(port : MsgPortPtr);
  49.     External;
  50.  
  51. Procedure ReplyMsg(mess : MessagePtr);
  52.     External;
  53.  
  54. Function WaitPort(port : MsgPortPtr): MessagePtr;
  55.     External;
  56.